package model.building;

import model.City;
import model.Ressources;
import model.util.Object3D;
import model.util.Vector3D;
import model.util.Box3D;

public class FamilyBusiness extends Company {

    /** Constructeurs */
    public FamilyBusiness(City city, Vector3D position) {
        this(city, new Box3D(m_shape, position), new Activity(m_defaultActivity)); 
    }

    public FamilyBusiness(City city, Object3D object3d, Company.Activity activity) {
        super(city, object3d, activity); 
    }

    /** Accesseurs */
    public String getName() { return "Family Business"; }
    public Object3D.Shape3D getShape3D() { return getShape(); }
    public double getBaseDestructionCost() { return 70.0; }
    public double getMaintainCost() { return 0.7; }

    /** Variables de classe */
    private static final Box3D.Shape3D m_shape = new Box3D.Shape3D(new Vector3D(76.0, 98.0, 2.0));
    private static final Activity m_defaultActivity = new Activity();

    /** Methodes de classe */
    public static Box3D.Shape3D getShape() { return m_shape; }
    public static double getConstructionCost() { return 100.0; }
    public static Activity getDefaultActivity() { return m_defaultActivity; }

    /** Classe internes */
    public static class Activity extends Company.Activity {
    
        /** Constructeurs */
        public Activity() {
	    initRessourceToUse(Ressources.Type.GOODS, 20);
	    initRessourceToCreate(Ressources.Type.DOLLARS, 30);
	}

        public Activity(Activity a) { super(a); }
    }
    
}
